package br.ufpe.cin.ip.biblioteca.negocio;

import br.ufpe.cin.ip.biblioteca.entidades.Publicacao;
import br.ufpe.cin.ip.biblioteca.excecoes.PublicacaoJaCadastradaException;
import br.ufpe.cin.ip.biblioteca.excecoes.PublicacaoNaoEncontradaException;
import br.ufpe.cin.ip.biblioteca.excecoes.RepositorioException;
import br.ufpe.cin.ip.biblioteca.iterator.IterablePublicacao;

public interface CadastroPublicacao extends IterablePublicacao {
	public void adicionar(Publicacao publicacao) throws RepositorioException, PublicacaoJaCadastradaException;
	public void remover(Publicacao publicacao) throws RepositorioException, PublicacaoNaoEncontradaException;
	public void atualizar(Publicacao publicacao) throws RepositorioException, PublicacaoNaoEncontradaException;
	public Publicacao buscar(Publicacao publicacao) throws RepositorioException, PublicacaoNaoEncontradaException;
	public boolean existe(Publicacao publicacao) throws RepositorioException;
}
